package org.sgs.reddit.bot.config;

import java.math.BigDecimal;
import java.math.BigInteger;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;


public class ApplicationProperties {
	
	private PropertiesConfiguration props;
	
	public ApplicationProperties(String propsFilePath){
			try {
				props = new PropertiesConfiguration(propsFilePath);
			} catch (ConfigurationException e) {
				throw new RuntimeException(e);
			}
	}

	public BigDecimal getBigDecimal(String arg0, BigDecimal arg1) {
		return props.getBigDecimal(arg0, arg1);
	}

	public BigDecimal getBigDecimal(String key) {
		return props.getBigDecimal(key);
	}

	public BigInteger getBigInteger(String arg0, BigInteger arg1) {
		return props.getBigInteger(arg0, arg1);
	}

	public BigInteger getBigInteger(String key) {
		return props.getBigInteger(key);
	}

	public boolean getBoolean(String key, boolean defaultValue) {
		return props.getBoolean(key, defaultValue);
	}

	public Boolean getBoolean(String arg0, Boolean arg1) {
		return props.getBoolean(arg0, arg1);
	}

	public boolean getBoolean(String key) {
		return props.getBoolean(key);
	}

	public double getDouble(String key, double defaultValue) {
		return props.getDouble(key, defaultValue);
	}

	public Double getDouble(String arg0, Double arg1) {
		return props.getDouble(arg0, arg1);
	}

	public double getDouble(String key) {
		return props.getDouble(key);
	}

	public float getFloat(String key, float defaultValue) {
		return props.getFloat(key, defaultValue);
	}

	public Float getFloat(String arg0, Float arg1) {
		return props.getFloat(arg0, arg1);
	}

	public float getFloat(String key) {
		return props.getFloat(key);
	}

	public int getInt(String key, int defaultValue) {
		return props.getInt(key, defaultValue);
	}

	public int getInt(String key) {
		return props.getInt(key);
	}

	public Integer getInteger(String arg0, Integer arg1) {
		return props.getInteger(arg0, arg1);
	}

	public long getLong(String key, long defaultValue) {
		return props.getLong(key, defaultValue);
	}

	public Long getLong(String arg0, Long arg1) {
		return props.getLong(arg0, arg1);
	}

	public long getLong(String key) {
		return props.getLong(key);
	}

	public short getShort(String key, short defaultValue) {
		return props.getShort(key, defaultValue);
	}

	public Short getShort(String arg0, Short arg1) {
		return props.getShort(arg0, arg1);
	}

	public short getShort(String key) {
		return props.getShort(key);
	}

	public String getString(String key, String defaultValue) {
		return props.getString(key, defaultValue);
	}

	public String getString(String key) {
		return props.getString(key);
	}

	public String[] getStringArray(String arg0) {
		return props.getStringArray(arg0);
	}
}